
const PUBLIC_PATH = process.env.VUE_APP_PUBLIC_PATH || '../'
// 页面配置的唯一标识 值必须为页面目录名称
const PAGE_NAME = process.env.VUE_APP_PAGE_NAME
// 页面内部html模板 值为空则使用public/index.html
const PAGE_TPL = process.env.VUE_APP_PAGE_TPL
// pages目录
const PAGES_DIR = 'src/pages'
// public目录
const PUBLIC_DIR = './public'
// 版本号
process.env.VUE_APP_VERSION = process.env.VUE_APP_VERSION || require('./package').version

module.exports = {
  /**
   * 所有编译页面必须放在二级目录 例如html/index.html或kefan/index.html等
   * 此处publicPath参数则为html文件引用的静态资源路径前缀
   */
  publicPath: PUBLIC_PATH,
  outputDir: process.env.VUE_APP_ENV ? `dist/front-${process.env.VUE_APP_ENV.substr(0, 4)}` : 'dist',
  https: false, // 是否开启https 可选值为true|false
  index: 'html/index.html', // devServer首页

  /**
   * 获取webpack编译或运行的所有页面
   */
  getActivedPages () {
    // 单独编译某些页面 如果该数组为空则编译pages所有页面
    const keys = [
      PAGE_NAME
    ]
    const newPages = keys.reduce((pages, key) => {
      pages[key] = this.pages[key]
      return pages
    }, {})
    return keys.length > 0 ? newPages : this.pages
  },
  // 注释的page表示活动已下线
  pages: {
    [ PAGE_NAME ]: {
      entry: `${PAGES_DIR}/${PAGE_NAME}/main.js`,
      filename: 'html/index.html',
      template: PAGE_TPL ? `${PAGES_DIR}/${PAGE_NAME}/${PAGE_TPL}` : `${PUBLIC_DIR}/index.html`,
      chunksSortMode: 'manual',
      chunks: ['chunk-vendors', 'chunk-common', PAGE_NAME]
    }
  }
}
